package com.ai.service;

import com.ai.web.PageResp;
import com.ai.web.request.*;
import com.ai.web.response.LoginResp;
import com.ai.web.response.UserDetailResp;
import com.ai.web.response.UserOwnRoleResp;
import com.ai.web.response.UserPageResp;

import java.util.List;

/**
 * 用户服务接口
 */
public interface UserService {

    void deleteUser(List<String> userIds);
    /**
     * 注册
     *
     * @param userAddReq vo
     */
    void register(UserAddReq userAddReq);

    /**
     * 登陆
     *
     * @param vo vo
     * @return LoginRespVO
     */
    LoginResp login(LoginReq vo);
    /**
     * 更新用户信息
     *
     * @param userUpdateReq vo
     */
    void updateUserInfo(UserUpdateReq userUpdateReq);

    /**
     * 查询客户信息
     * @param id
     * @return
     */
    UserDetailResp findById(String id);
    /**
     * 分页
     *
     * @param userPageReq vo
     * @return IPage
     */
    PageResp<UserPageResp> pageInfo(UserPageReq userPageReq);

    /**
     * 添加用户
     *
     * @param userAddReq vo
     */
    void addUser(UserAddReq userAddReq);

    /**
     * 修改密码
     * @param userUpdatePwdReq
     */
    void updatePwd(UserUpdatePwdReq userUpdatePwdReq);

    /**
     * 根据userid获取绑定角色
     *
     * @param userId userId
     * @return UserOwnRoleRespVO
     */
    UserOwnRoleResp getUserOwnRole(String userId);

    /**
     * 修改自己信息
     *
     * @param userUpdateReq vo
     */
    void updateUserInfoMy(UserUpdateReq userUpdateReq);
}
